#ifndef __INCLUDE_GUI_LIST_H__
#define __INCLUDE_GUI_LIST_H__
#include "GUI_Basic.h"
#include "GUI_Font.h"
#include "GUI_ScrollBar.h"
#include "LCD_VirtualDeviceParameter.h"












typedef const char			ListChar;
typedef ListChar*			ListStr;

typedef enum
{
	LIST_ITEM_NORMAL		= 0,
	LIST_ITEM_ENUM,
	LIST_ITEM_DIGIT,
	LIST_ITEM_DATE,
	LIST_ITEM_TIME
}GUI_LIST_ITEM_TYPE;

typedef enum
{
	LIST_STATUS_UNINIT		= 0,
	LIST_STATUS_SELECT,
	LIST_STATUS_EDIT,
}GUI_LIST_STATUS;

typedef struct
{
	ListStr					Text;
	GUI_LIST_ITEM_TYPE		Type;
	uint32_t				Value;
	uint32_t				Decimal;
    uint16_t				EnumerationIndex;
    ListStr*				EnumerationValue;
}GUI_LIST_ITEM;

typedef struct
{
	char*					Title;
	size_t					Count;
	GUI_LIST_ITEM*			Items;
	GUI_LIST_STATUS			Mode;
	size_t					PageStartIndex;
	size_t					SelectIndex;
}GUI_LIST_STRUCT;


void		GUI_List_RefreshList(GUI_LIST_STRUCT* pstList);
void		GUI_SelectUpItem(GUI_LIST_STRUCT* pstList);
void		GUI_SelectDownItem(GUI_LIST_STRUCT* pstList);
void		GUI_ChangeMode(GUI_LIST_STRUCT* pstList);

#endif // __INCLUDE_GUI_LIST_H__
